package scala.basic

/**
 * 数据类型强制转换
 */
case object StringTransferTest {

  def main(args: Array[String]): Unit = {

    //（1）基本类型转String类型（语法：将基本类型的值+"" 即可）
    var s1: String = true + " ni hao";
    println(s1)

    var s2: String = 44.44 + " ni hao";
    println(s2)

    var s3: String = 56.21 + "";
    println(s3)


    //（2）String类型转基本数值类型（语法：调用相关API）
    var st1: String = "90";
    var it1: Int = st1.toInt;
    var dt1: Double = st1.toDouble;
    var b1: Byte = st1.toByte
    var sh1: Short = st1.toShort
    var l1: Long = st1.toLong

    println(it1)
    println(b1)
    println(sh1)
    println(l1)
    println(dt1)

    // 扩展面试题
    //    00000000 00000000 00000000 10000010
    //    var n: Int = 128  //转换成-128
    var n: Int = 130 //转换成-126
    var b: Byte = n.toByte

    //    10000000 为当前字节范围最小值，约定-128
    //  负数补码：符号位不变，其他位按位取反 + 1
    println(b)
  }

}
